package main

import (
	"gorm.io/driver/mysql"
	"gorm.io/gen"
	"gorm.io/gorm"
)

func main() {
	// 初始化数据库连接
	dsn := "root:123456@tcp(localhost:3306)/myappdb?charset=utf8mb4&parseTime=True&loc=Local"
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic(err)
	}

	// 创建生成器实例
	g := gen.NewGenerator(gen.Config{
		// 输出目录
		ModelPkgPath: "./model",
		OutPath:      "./dal/query",
		// 生成模式
		Mode: gen.WithoutContext | gen.WithDefaultQuery | gen.WithQueryInterface,
	})

	// 使用数据库连接
	g.UseDB(db)

	// 生成所有表
	//g.GenerateAllTable()

	g.ApplyBasic(g.GenerateAllTable()...)

	// 执行生成
	g.Execute()
}
